iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
0
自我挑戰組

白鬍子老頭30天 Swift Ios系列 第 24

Day(7+17) Lecture 11 CoreDataDemo

  • 分享至 

  • xImage
  •  

紀錄一下
流程大概是
搜尋完

upDateDatabase
傳入剛剛搜尋的tweet更新Database
http://ithelp.ithome.com.tw/upload/images/20170108/20103833AaRcbrl4wM.png

依照id找出Tweet
如果有的話就回傳
沒有的話就更新
http://ithelp.ithome.com.tw/upload/images/20170108/20103833GIyNBNz56I.png

當要segue時
設定終點viewController的屬性 這裡是另一個TableView
http://ithelp.ithome.com.tw/upload/images/20170108/20103833jHn4nd0mQi.png

屬性被設置後會更新TableView的UI
http://ithelp.ithome.com.tw/upload/images/20170108/20103833m6ZBiw2hjl.png

終點的TableView繼承 cp193課程給的 CoreDataTableViewController
http://ithelp.ithome.com.tw/upload/images/20170108/20103833yZ4ZFmt9dy.png
這邊我找不到swift3版本的,就直接用2的改成3,比較要注意table viewDelegate語法不一樣要改一下不然最後不會顯示出來
http://ithelp.ithome.com.tw/upload/images/20170108/20103833LPc8ccT3JI.png

找出有這些Mention的user
fetchedResultsController 被設置後
NSFetchedResultsController會讓你的TableView自動載入你搜尋的的東西
http://ithelp.ithome.com.tw/upload/images/20170108/20103833sfZWRy4Ufb.png

唯一他不會做的是CellForRow所以最後還是要把Cell做出來

   override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "TweetUserCell", for: indexPath)
        if let tweeterUser = fetchedResultsController?.object(at: indexPath) as? TweetUser {
            var stringName :String?
            tweeterUser.managedObjectContext?.performAndWait {
                stringName = tweeterUser.screenName
            }
            cell.textLabel?.text = stringName
            if let count = tweetCountWithMention(user: tweeterUser){
                cell.detailTextLabel?.text = (count == 1 ) ? "1 tweet" : "\(count) tweets"
            }else{
                cell.detailTextLabel?.text = ""
        }
        return cell
    }

昨天卡在 CoreDataTableViewController 一直沒有把Row顯示出來
http://ithelp.ithome.com.tw/upload/images/20170108/201038333WGnPKvjgt.png


上一篇
Day(7+16)
下一篇
Day(7+18) Lecture 12 AutoLayout
系列文
白鬍子老頭30天 Swift Ios30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言